Nacitanie WWW + poslanie udajov (POST) [18:11958:11958]

Otázka od: Mirko jr.

20. 11. 2002 22:27


 Dobry den prajem,

 potreboval by som poradit s nasledovnym problemom:

 nacitavam straku pomocou WebBrowsera (navigate), potrebujem vsak PHP
scriptu poslat udaje pomocou POST. Jedna z premennych pri navigate je aj
PostData (typ OleVariant), ale nieviem, ako ju naplnit: vytvorim si pole
Variant, premenim ho na jednu premennu a potom na OleV. Delphi mi to bere,
ale v PHP mam vsetky premenne prazdne. Co maju obsahovat jednotlive prvky v
poli? Skusal som vsetko od $Meno="Mirko" az neviem kam ...
Obracal som sa aj na delphi forum na builderi, bez odozvy...


 Dakujem

 Mirko Zibolen


Odpovedá: Jan Křížek

21. 11. 2002 7:59

V POST by meli byt parametry zapsane uplne stejne jako GET, tedy jako
retezec

nazev1=hodnota1&nazev2=hodnota2 ...

hodnota by mela byt v url kodovani, tedy mezery nahrazeny + a vsechny
nealfanumericke znaky prevedeny na tvar %XX - kde XX je hexa hodnota
znaku.

Takovy retezec preved nasledujici funkci na Variant a predej jako
PostData

function StringToVarArray(const S: string): Variant;
begin
  Result := Unassigned;
  if S <> '' then
  begin
    Result := VarArrayCreate([0, Length(S) - 1], varByte);
    Move(Pointer(S)^, VarArrayLock(Result)^, Length(S));
    VarArrayUnlock(Result);
  end;
end;

Ta funkce je z IEUtils.pas, ktere najdes na
http://www.euromind.com/iedelphi jako spoustu dalsich dulezitych
informaci o WebBrowseru.

Honza +

> Dobry den prajem,
>
> potreboval by som poradit s nasledovnym problemom:
>
> nacitavam straku pomocou WebBrowsera (navigate), potrebujem vsak PHP
> scriptu poslat udaje pomocou POST. Jedna z premennych pri
> navigate je aj
> PostData (typ OleVariant), ale nieviem, ako ju naplnit:
> vytvorim si pole
> Variant, premenim ho na jednu premennu a potom na OleV.
> Delphi mi to bere,
> ale v PHP mam vsetky premenne prazdne. Co maju obsahovat
> jednotlive prvky v
> poli? Skusal som vsetko od $Meno="Mirko" az neviem kam ...
> Obracal som sa aj na delphi forum na builderi, bez odozvy...
>
>
> Dakujem
>
> Mirko Zibolen